package com.fulihui.usercore.biz.shard;

import com.fulihui.usercore.dto.WechatUserDTO;

/**
 * 用户微信信息管理类
 *
 * @author Willard.Hu on 2016/12/2 0002.
 */
public interface WechatUserManager {

    /**
     * 通过用户唯一标识检查用户是否已绑定微信信息
     *
     * @param openId     微信openid
     * @param openidType openid类型，APP/MP
     * @param userId     用户唯一标识
     * @param appid      微信平台唯一标识
     */
    boolean checkBindByUserId(String openId, String openidType, String userId, String appid);

    /**
     * 通过登入账号检查用户是否已绑定微信信息
     *
     * @param loginId    登入账号
     * @param openId     微信openid
     * @param openidType openid类型，APP/MP
     * @param userId     用户唯一标识
     * @param appid      微信平台唯一标识
     */
    boolean checkBindByLoginId(String loginId, String openId, String openidType, String userId, String appid);

    /**
     * 通过用户唯一标识绑定微信信息
     *
     * @param record {@link WechatUserDTO}
     */
    void bindingByUserId(WechatUserDTO record);

    /**
     * 通过登入账号绑定微信信息
     *
     * @param loginId 登入账号
     * @param record  {@link WechatUserDTO}
     */
    void bindingByLoginId(String loginId, WechatUserDTO record);

}
